서비스화 진행 방법
- 각종 팁
- 애자일, 원 팀, DDD
- 초기 셋업은 모놀리틱보다 오래 걸림
- 이 모두를 적용해서 효율적으로 모색해야 함
- 필요한 전문가가 모두 한 팀에서 각종 개발에 관여
- 프로덕트 오너를 두어 필요한 기능에 우선순위 부여
- DDD를 통해 도메인 모델 설계를 중심에 두기
- 크게 시작하여 필요에 따라 세분화
- 어디까지 작게 만들어야 하는가?
- 크게 만들고 필요할 때 분기시키기
- 한 주 릴리스 후 운영해보고 다음 분기에 분기할지 결정하기
- 세션 정보 유지
- stateless 구현이 기본
- 그러나 처리 상태를 유지해야 하는 경우 존재
- 세션 영구화
- 처리 상태를 영속적인 디비에 저장
- 스티키 세션
- 처리 상태가 저장된 서버에 클라의 요청을 전송
- Kubernetes의 Ingress에서도 지원됨
- 상태의 서비스화
- 상태 유지 서비스를 신설
- 휘발성 정보로 취급되는 세션 정보를 영구적 서비스로 취급
- 장바구니 예시
- 설계의 보편성을 부여하고 추가 구현을 방지
- 마이그레이션 기간 중의 의존 관계
-
기존 시스템을 개선하는 경우
-
도메인 규모가 크면 프로젝트가 장기화됨
-
기존과 신규가 동시에 존재할 시 의존 관계 주의
- 기존이 신규에 의존하도록 하는 것은 good
- 신규가 기존에 의존하는 것은 bad
- 엔드 유저의 요청에
- 모놀리스 환경의 변경이 마이크로서비스의 서비스를 방해할 가능성
-
- 애자일, 원 팀, DDD